/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.struts.dao;

import com.struts.bean.Usuario;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 *
 * @author Higor
 */
public class DAOUsuario extends DAOGenerics<Usuario, Integer> {
    @Override
    public Usuario buscar(Integer obj) {
        SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
        Session s = sf.openSession();

        try {
            return buscar(obj, s);

        } finally {
            s.close();
        }
    }

    @Override
    public Usuario buscar(Integer obj, Session s) {
        String sql = "from Usuario where id = :id";

        Query qr = s.createQuery(sql);
        qr.setParameter("id", obj);

        return (Usuario) qr.uniqueResult();
    }

    @Override
    public List<Usuario> buscarTodos() {
        SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
        Session s = sf.openSession();

        try {
            return buscarTodos(s);

        } finally {
            s.close();
        }
    }

    @Override
    public List<Usuario> buscarTodos(Session s) {
        String sql = "from Usuario";

        Query qr = s.createQuery(sql);

        return (List<Usuario>) qr.list();
    }
}
